1. Field of the Invention
The present invention relates to information automation, particularly in the field of yield enhancement software.
2. State of the Art
Semiconductor integrated circuits, or "chips," continue to become increasingly sophisticated and complex with advances in lithography, process technology, and fabrication techniques. As integrated circuits become more complex, the potential for poor yields increases. Yield refers to the proportion of defect-free chips to total chips produced. The need has therefore become apparent for equally-sophisticated software tools for managing yields during chip production.
One such tool, known as Yield Manager.TM., is available from the current assignee. Yield Manager.TM. is a client-server application that combines a data-acquisition front end with a statistical tools package and a graphical user interface that allows users to quickly and easily retrieve any of a wide variety of data sets and manipulate and display those data sets in various fashions. Typically, the data sets are data representing the location and extent of defects on a wafer, obtained, for example, from defect metrology, review and classification systems of a type available from, for example, KLA Instruments of San Jose, Calif., or Tencor Instruments of Mountain View, Calif.
Most commonly, Yield Manager.TM. is used to manipulate and display data sets in three principal ways, as a wafer map, as a wafer map array, or as a chart. A wafer map, shown in FIG. 1, displays as if on a single wafer locations of defects throughout a wafer lot. Different types of defects may be indicated in different ways. A wafer map array, shown in FIG. 2, displays locations of defects throughout a wafer lot but at various stages in the production process. A wafer map array is therefore like a collection of wafer maps each of which delimited in time. A chart, shown in FIG. 3, is typically a plot, used, for example, to show a yield curve.
Apart from selecting a data set to display, the user is allowed to manipulate each of the foregoing types of displays in various ways. For example, once a wafer map or a wafer map array has been created, the user may further filter data by selecting only certain defects, for example random defects, "micro-clusters," "macro-clusters," "repeaters," etc. Charts may be formatted in various ways, for example as line graphs, 2-D bar charts, 3-D bar charts, etc.
Despite the wide variety of data manipulations available, a particular user may tend to repeatedly use Yield Manager.TM. to generate the same information in the same way as on a preceding occasion but using a different data set. In doing so, the user "tunes" the displays of Yield Manager.TM. for the user's particular preferences and circumstances. An example of one possible display that might result from tuning to account for user preferences and circumstances is shown in FIG. 4.
Currently, such tuning is performed repeatedly at each use. For example, a production supervisor may arrive at work each day at 8:00 AM and use Yield Manager.TM. to present various information concerning a most-recent production run by selecting the pertinent data set and tuning the displays of Yield Manager.TM. to display the information in the desired manner. Bringing up the application, selecting the data set, and tuning the displays of the application, although very easy, can still consume minutes of time that might be more profitably spent in actual analysis and troubleshooting.
It has therefore been proposed to augment the capabilities of Yield Manager.TM. by providing an automatic report generator that allows for both attended and unattended report generation, producing a word-processor-like document capable of containing text results, images, charts and graphs--basically any resulting output that can be generated by Yield Manager.TM.. According to this proposal, results would be saved in a standard work processor format such as Microsoft Word for Windows.TM., allowing all of the different text, images, charts, graphs, etc., to be copied to the clipboard and transferred to another application such as Powerpoint.TM., Excel.TM., etc. To economize on storage requirements, the user would be required to specify how long the report should be saved and would have the option of excluding from the report actual bitmapped of defects (also available in Yield Manager.TM.). Further according to the proposal, clicking on a field contained on each page of the report would select the dataset contained in the results on that page and return the user to an interactive window back in Yield Manager.TM. so that the user could graphically subselect data, further manipulate the data, etc. Although the foregoing proposal identifies a desired result, it gives no indication of how that desired result is to be achieved.
One commonplace approach to information automation involves the use of "keystroke macros," used herein to refer to macros in which a sequence of user inputs, typically keyboard inputs but in some instance mouse inputs or a combination of keyboard and mouse inputs. Keyboard macros are commonly used in both text-based applications (for example, Microsoft Word.TM.) as well as graphics-based applications. One example of a graphics-based application that makes extensive use of keystroke macros is Statsoft's Statistica.TM.. Statistica.TM. is an integrated data analysis, graphics and database management system. To use a keystroke macro, the user clicks a record button, enters keystrokes or mouse inputs in a sequence to be played back at a later time, and then clicks a stop button. When the macro is played back at a later time, a result is produced that is the same as a result that would have been produced had the user manually entered the exact same sequence of inputs. Keystroke macros are therefore low-level, "unintelligent" macros.
Keystroke macros are of very limited use for achieving information automation using an application such as Yield Manager.TM.. Because keystroke macros are unintelligent, if the program context changes, running the macro does not produce the desired result, and in fact often produces unintelligible results. A context change may be as simple as moving or resizing a window. In particular, in Yield Manager.TM., the what is displayed to the user is a collection of display objects, managed by a display manager. Objects are frequently added and removed. Furthermore, in Yield Manager.TM., a good deal of the application's functionality is not keyboard accessible but is accessible only using the mouse. The recording of mouse movements and clicks in a keystroke macro is particularly error prone. For example, if a context change has occurred in which a window has been resized or moved, a mouse click that was located in a one button region in a previous context.
A need therefore exists for improved methods of automating the generation of information using context-rich applications such as Yield Manager.TM..